22ad646acae35d6c1dcdae67071c5d9125c2d498,core/src/com/cloud/storage/template/VhdProcessor.java,VhdProcessor,getVirtualSize,#File#,119

Before Change


            strm = new FileInputStream(file);
            strm.skip(file.length() - vhdFooterSize + vhdFooterCreatorAppOffset);
            strm.read(creatorApp);
            strm.skip(vhdFooterCurrentSizeOffset - vhdFooterCreatorVerOffset);
            strm.read(currentSize);
        } catch (Exception e) {
            s_logger.warn("Unable to read vhd file " + file.getAbsolutePath(), e);
            throw new CloudRuntimeException("Unable to read vhd file " + file.getAbsolutePath() + ": " + e);

After Change


            if (read == -1) {
                throw new IOException("Unexpected end-of-file");
            }
            skipped = strm.skip(vhdFooterCurrentSizeOffset - vhdFooterCreatorVerOffset);
            if (skipped == -1) {
                throw new IOException("Unexpected end-of-file");
            }
            read = strm.read(currentSize);
            if (read == -1) {
                throw new IOException("Unexpected end-of-file");
            }
        }